40 - 5.2.2 Rechnerorganisation: Einführung in Maschinenprogramme [ID:15391]
50 von 137 angezeigt

Zunächst also eine kurze Einführung in den Leerstoff von heute und in dem Zusammenhang

eben auch eine Erläuterung, was wir mit dem Begriff Hybrid oder Hybrid Software im Zusammenhang

mit Maschinenprogrammen eigentlich meinen. Nun Maschinenprogramme bilden eine hybride

Schicht kann man grob sagen. Es geht nämlich einmal darum, dass wir in diesen Maschinenprogrammen

Instruktionen finden, die direkt von der Befehlsetzebene ausgeführt werden, also direkt von der CPU zur

Ausführung kommen. Und andererseits haben wir Instruktionen, die gezielt an das Betriebssystem

gehen. Und diese Instruktionen, die ans Betriebssystem gehen, werden denn von dem Betriebssystem,

wie man so schön sagt, partiell interpretiert. Es sind also zwei Sorten von Befehlen, die wir

gleich noch ein bisschen weiter auseinanderdiskutieren wollen. Diese Ebene, um die es hier geht,

eigentlich sind es, sagen wir mal, zwei Ebenen, zwei Ebenen, zwei und drei, bilden selbst eine

Programmherarchie von virtuellen Maschinen. Das sind nicht nur grob die Ebenen zwei und drei,

die hier eine Rolle spielen, sondern eigentlich auch, wie wir denn später sehen werden, die

innere Struktur dieser Ebene drei, von Software, die auf dieser Ebene drei laufen, die wir als eine

etwas feinkörnigere Programmherarchie kennenlernen werden. Wir werden das exemplarisch am Beispiel von

Intel-basierten Prozessoren der x86 Familie machen und konkret auch durchaus Codebeispiele aus dem

Linux-System präsentieren und damit denn die prinzipielle Funktionsweise von Systemaufrufen

letztlich zu vermitteln. Systemaufrufe, die eine zentrale Technik letztendlich darstellen,

damit Maschinenprogramme während ihrer Ausführung Betriebssystemfunktionen aktivieren können. Also

sowas wie einen Ausgabe machen können, Prozesse erzeugen können, Speicher anfordern können und so

weiter. Indem wir das tun, werden wir die grob Struktur von Maschinenprogrammen zumindest im

Ansatz kennenlernen. Hier werden wir eben die Bedeutung eines Laufzeitsystems, also etwa einer

C-Library kennenlernen, aber insbesondere auch von Dingen, die wir als Systemaufrufstümpfe begreifen

werden. Die alle zusammen genommenen, denn nachher wesentliche Bestandteile der Systemsoftware auf

dieser Ebene letztendlich sind und alle diese Stümpfe, das sind letztendlich nur kleine Routinen

wie auch Funktionen, die wir in sowas wie einer C-Library finden, werden dann zusammen mit den

Anwendungsroutinen zu einem sogenannten Lademodul zusammengebunden. Dieses Lademodul wäre dann

nachher die eigentliche technische Repräsentation eines Maschinenprogramms, das dann später von einem

Betriebssystem zur Ausführung gebracht wird, indem dieses Programm geladen wird, ein Prozess

erzeugt wird und denn damit startet. Die Beispiele, die wir hier sehen werden, sind symbolisch. Die

Programmbeispiele werden symbolisch dargestellt, aber wie wir in der letzten Vorlesungsstunde schon

gesehen haben, ist eigentlich die Programmierart auf der Ebene von Maschinenprogrammen numerisch.

Nun werden wir der Verständnis wegen nicht hier rein auf der numerischen Maschinencode versuchen,

die Funktionalitäten und die Bedeutung dieser Ebene darzustellen, sondern wir werden das schon

in Form von C-Programmen sehen, wie auch denn SM-Lab-Programm. Diese hybride Schicht, diese

Ebene 3 als hybride Schicht in einem Rechensystem bildet sich, wie ich eben eingangs schon sagte,

deshalb weil wir hier von zwei Sorten von Befehlen ausgehen müssen, die in diesen Maschinenprogrammen

enthalten sind, die Maschinenprogramme letztendlich aus diesen beiden Sorten von Befehlen existieren.

Die schreiben wir normalerweise nicht von Hand hin, sondern genau diese Sorten von Befehle werden in

den allerallermeisten Fällen eben von einem Compiler letztendlich generiert. Der größte

Block dabei sind die Maschinenbefehle, die denn direkt an die Befehlsetzebene gehen. Die werden

eben von der CPU, von der Zentraleinheit normalerweise direkt interpretiert. Die

direkte Interpretation bedeutet Ausführung dieser Befehle und wie wir eben auch in der

letzten Stunde gesehen haben, kann es bei der Ausführung solcher Befehle Ausnahmesituationen

geben. Das bedeutet denn hier zum Beispiel, dass die Zentraleinheit die CPU eine Ausnahme hervor

bringt, die behandelt werden muss und dann haben wir eine Ausnahmesituation, die zu einer partiellen

Interpretation auf durch das Betriebssystem letztendlich führt. Also ein Fehler ist bei

der Ausführung eines normalen Maschinenbefehls aufgetreten. In dem Fall würde die Hardware diesen

Fehler erkennen und dem Betriebssystem signalisieren eine Fehlerbehandlung zu starten. Der Effekt kann

der sein, dass das Betriebssystem in der Lage ist diesen Fehler zu beheben und dann kann es bedeuten,

dass das Maschinenprogramm in der Ausführung weitermacht. Kann aber auch bedeuten, dass der

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:15:14 Min

Aufnahmedatum

2020-05-09

Hochgeladen am

2020-05-10 00:56:05

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen